﻿using SmartWMS.Domain.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.BusinessServer.SalesManagementService.Dto
{
	/// <summary>
	/// 销售管理Dto
	/// </summary>
	public class SalesManagementDtoInpute : KeyEntity
	{
		/// <summary>
		/// 产品编号
		/// </summary>
		[MaxLength(50)]
		public string? ProductCode { get; set; }

		/// <summary>
		/// 产品名称
		/// </summary>
		[MaxLength(50)]
		public string? ProductName { get; set; }

		/// <summary>
		/// 厂家编码
		/// </summary>
		[MaxLength(50)]
		public string? FactoryNo { get; set; }

		/// <summary>
		/// 内部编码
		/// </summary>
		[MaxLength(50)]
		public string? InnerNo { get; set; }


		/// <summary>
		/// 默认供应商
		/// </summary>
		public int DefaultSupplierId { get; set; }

		/// <summary>
		/// 默认仓库
		/// </summary>
		public int DefaultWarehouseId { get; set; }


		/// <summary>
		/// 默认库位
		/// </summary>
		public int DefaultLocationId { get; set; }

		/// <summary>
		/// 默认客户
		/// </summary>
		public int DefaultCustomId { get; set; }


		/// <summary>
		/// 规格
		/// </summary>
		public string? Specs { get; set; }

		/// <summary>
		/// 类别
		/// </summary>
		public int ProductTypeId { get; set; }


		/// <summary>
		/// 存储单位
		/// </summary>
		public string? Unit { get; set; }

		/// <summary>
		/// 预警(上)
		/// </summary>

		public int Ceiling { get; set; }


		/// <summary>
		/// 预警(下)
		/// </summary>

		public int Floor { get; set; }

		/// <summary>
		/// 包装类型
		/// </summary>
		public string? PackageType { get; set; }

		/// <summary>
		/// 价格
		/// </summary>
		public decimal Price { get; set; }

		/// <summary>
		/// 重量
		/// </summary>
		public string? Weight { get; set; }

		/// <summary>
		/// 描述
		/// </summary>
		[MaxLength(200)]
		public string? Describe { get; set; }

		/// <summary>
		/// 库存
		/// </summary>
		public int Inventory { get; set; }


		/// <summary>
		/// 销售单号
		/// </summary>
		public string? SalesCode { get; set; }
		/// <summary>
		/// 产品Id
		/// </summary>
		public int ProductId { get; set; }
		/// <summary>
		/// 出库数
		/// </summary>
		public int OutboundShipments { get; set; }
		/// <summary>
		/// 客户单号
		/// </summary>
		public string? ClientCode { get; set; }
		/// <summary>
		/// 客户名
		/// </summary>
		public string? ClientName { get; set; }
		/// <summary>
		/// 电话
		/// </summary>
		public string? Phone { get; set; }
		/// <summary>
		/// 订单总额
		/// </summary>
		public decimal OrdersSum { get; set; }
		/// <summary>
		/// 单据类型
		/// </summary>
		public string? DocumentType { get; set; }
		/// <summary>
		/// 发货日期
		/// </summary>
		public DateTime Delivery { get; set; }
		/// <summary>
		/// 制单人
		/// </summary>
		public string? Creator { get; set; }
		/// <summary>
		/// 制单时间
		/// </summary>
		public DateTime CreatorTime { get; set; }
		/// <summary>
		/// 是否入账
		/// </summary>
		public bool RecordedState { get; set; }
		/// <summary>
		/// 状态
		/// </summary>
		public int State { get; set; }
		/// <summary>
		/// 备注
		/// </summary>
		public string? Remarks { get; set; }
		/// <summary>
		/// 是否退货
		/// </summary>
		public bool IsReturn { get; set; }
		/// <summary>
		/// 退货数量
		/// </summary>
		public int ReturnNumber { get; set; }

		/// <summary>
		/// 批量删除Id
		/// </summary>
		public string? DelId { get; set; }

		/// <summary>
		/// 销售数量
		/// </summary>
		public int SaleNum { get; set; }
		
	}
}
